package com.chushouya.order.dto.admin.order;

import com.general.framework.core.schema.PageRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = true)
public class OrderQuery extends PageRequest {
    @ApiModelProperty("订单ID")
    private Long orderId;

    @ApiModelProperty("订单编号")
    private String orderNo;

    @ApiModelProperty("订单ID")
    private List<Long> orderList;

    @ApiModelProperty("订单类型")
    private Integer bizType;

    @ApiModelProperty("下单开始日期")
    private Date createTimeStart;

    @ApiModelProperty("下单结束日期")
    private Date createTimeEnd;

    @ApiModelProperty("关键词")
    private String keyword;

    @ApiModelProperty("订单状态")
    private Integer orderStatus;

    @ApiModelProperty("订单状态")
    private Integer orderLogicStatus;

    @ApiModelProperty("订单状态")
    private List<Integer> orderStatusList;

    @ApiModelProperty("订单来源")
    private List<Integer> orderSourceList;

    @ApiModelProperty("订单逻辑状态")
    private Integer logicStatus;

    @ApiModelProperty("交易方式")
    private Integer orderType;

    @ApiModelProperty("客服Id")
    private Long kefuId;

    @ApiModelProperty("客服姓名")
    private String kefuName;

    @ApiModelProperty("用户ID")
    private Long userId;

    @ApiModelProperty("支付状态")
    private Integer payStatus;

    @ApiModelProperty("预付款状态")
    private Integer prepaidStatus;

    @ApiModelProperty("业务员Id")
    private Long clerkId;

    @ApiModelProperty("业务员姓名")
    private String clerkName;

    @ApiModelProperty("发货状态")
    private Integer logisticsStatus;

    @ApiModelProperty("预约上门开始时间")
    private Date appointStartTime;

    @ApiModelProperty("预约上门截止时间")
    private Date appointEndTime;

    @ApiModelProperty("合作商订单号")
    private String partnerOrderNo;

    @ApiModelProperty("合作商")
    private Long partnerId;

    @ApiModelProperty("合作商类别")
    private Integer partnerType;

    @ApiModelProperty("合作商类型列表")
    private List<Integer> partnerTypeList;

    @ApiModelProperty("合作商用户类别")
    private Integer partnerUserType;

    @ApiModelProperty("销售状态")
    private Integer saleStatus;

    @ApiModelProperty("入库状态")
    private Integer stockStatus;

    @ApiModelProperty("自卖状态")
    private List<Integer> selfSaleStatusList;

    @ApiModelProperty("不让显示的订单状态")
    private List<Integer> ignoreOrderStatus;

    @ApiModelProperty("自卖状态")
    private Integer selfSaleStatus;

    @ApiModelProperty("商品条码")
    private String productBarCode;

    @ApiModelProperty("商品串号")
    private String meid;

    @ApiModelProperty("推广标签")
    private String promoteLabel;

    @ApiModelProperty("推广渠道名称")
    private String promoteChannel;

    @ApiModelProperty("成交价")
    private BigDecimal completePrice;

    @ApiModelProperty("快递单号")
    private String expressNo;

    @ApiModelProperty("完成订单开始日期")
    private Date completeTimeStart;

    @ApiModelProperty("完成订单结束日期")
    private Date completeTimeEnd;

    @ApiModelProperty("业务员Id列表")
    private List<Long> clerkIdList;

    @ApiModelProperty("客服Id列表")
    private List<Long> kefuIdList;

    @ApiModelProperty("成交客服Id")
    private Long completeKefuId;

    @ApiModelProperty("用户省份")
    private String province;

    @ApiModelProperty("用户城市")
    private String city;

    @ApiModelProperty("用户区域")
    private String area;

    @ApiModelProperty("城市关键词")
    private String areaKeyword;

    @ApiModelProperty("钱包状态")
    private Integer walletStatus;

    @ApiModelProperty("appId")
    private String appId;

    @ApiModelProperty("重复单")
    private Integer isRepeatOrder;

    @ApiModelProperty("私域订单")
    private Integer isPrivateOrder;

    @ApiModelProperty("重复单类型")
    private Integer repeatOrderType;

    @ApiModelProperty("重复单ID")
    private Long repeatOrderId;

    @ApiModelProperty("筛选业务员订单")
    private Boolean filterClerk;

    @ApiModelProperty("外呼时间")
    private Integer isNoCall;

    @ApiModelProperty("合作商ID")
    private List<Long> partnerIdList;

    @ApiModelProperty("是否跨归属查询")
    private String ascriptionKeyword;


}
